<!DOCTYPE html>
<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="content-type">
    <title>ch09-00</title>
    
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="thumbnailviewer.css" type="text/css" />

<script src="thumbnailviewer.js" type="text/javascript">

/***********************************************
* Image Thumbnail Viewer Script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

</script>


  </head>
  
  
<div class="os1">第9章 数据容器</div>
<br />
数据容器（Container Classes）就是数据结构课程里常见的列表、链表、队列、栈、
向量等保存和处理数据的类。Qt 所有的数据容器都是模板类，这样方便处理任何类型的数据，当然这些类构造时要带数值类型。
<br />
Qt 提供了两大类数据容器，第一类是顺序容器，
包括列表 QList、队列 QQueue、链表 QLinkedList、向量 QVector 和栈 QStack 。
顺序容器比较常见，我们根据应用场景举例使用这些顺序容器。
第二类是关联容器，用于保存键值（key-value）映射，关联容器包括
 单映射 QMap、多映射 QMultiMap、单哈希映射QHash、多哈希映射 QMultiHash 
 和集合 QSet。单映射就是一个 key 对应一个 value，多映射是一个 key 对应多个 value。集合类只有 value 值，没有 key。 
 <br />
Qt 不仅提供了数据容器，还为数据容器提供了方便访问的迭代器，有 Java 风格迭代器类 和 STL 风格的迭代器，功能都是差不多，使用习惯不同而已。
<br />
<br />
本章 9.1 节介绍三种顺序容器，列表 QList、队列 QQueue 和链表 QLinkedList。<br />
9.2 节介绍剩下的两种顺序容器，向量 QVector、栈 QStack ，并归纳一下顺序容器操作的算法复杂度。<br />
9.3 节介绍三种关联容器，单映射QMap、多映射 QMultiMap 和 集合 QSet。集合就是数学上的集合，比如求交集∩、求并集∪等。
<br />
9.4 节介绍剩下的两种关联容器，单哈希映射 QHash、多哈希映射  QMultiHash，并归纳一下关联容器操作的算法复杂度。
<br />
9.5 节列举数据容器对应的迭代器，Java 风格迭代器是单独的类，STL 风格的迭代器是数据容器类自己内嵌的，各个迭代器的用法很相似，到时候挑几个编写示例。
<br />



<br />
<br />
<br />

<table style="text-align: left; width: 100%;" border="0" cellpadding="2" cellspacing="2">
	<tbody>
	<tr>
		<td style="width: 40%;"><div style="text-align: center;"><a href="ch08-04.htm"><img class="pic" style="width: 32px; height: 32px;" alt="prev" src="images/pics/prev.png" /></a></div></td>
		<td style="width: 20%;"><div style="text-align: center;"><a href="contents.htm"><img class="pic" style="width: 32px; height: 32px;" alt="contents" src="images/pics/contents.png" /></a></div></td>
		<td style="width: 40%;"><div style="text-align: center;"><a href="ch09-01.htm"><img class="pic" style="width: 32px; height: 32px;" alt="next" src="images/pics/next.png" /></a></div></td>
	</tr>
</tbody>
</table>
</html>
